Micron Document




Executable and Linkable Format
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
ELF (Executable and Linkable Format, format exécutable et liable ; anciennement Executable and Linking Format) est un format de fichier binaire utilisé pour l'enregistrement de code compilé (objets, exécutables, bibliothèques de fonctions). Il a été développé par l’USL (Unix System Laboratories) pour remplacer les anciens formats a.out et COFF qui avaient atteint leurs limites. Aujourd'hui, ce format est utilisé dans la plupart des systèmes d'exploitation de type Unix (GNU/Linux, Solaris, IRIX, System V, BSD), à l'exception de Mac OS X.

Contents


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Le format de fichier ELF

Chaque fichier ELF est constitué d'un en-tête fixe, puis de segments et de sections. Les segments contiennent les informations nécessaires à l'exécution du programme contenu dans le fichier, alors que les sections contiennent les informations pour la résolution des liens entre fonctions et le replacement des données. Sur la plupart des systèmes Unix, la commande man elf donnera de plus amples informationscite-ref-1[1].

Entête d'un fichier ELF

L'entête d'un fichier ELF adopte le format suivantcite-ref-2[2]:

Comparaison avec d'autres systèmes d'exploitation

Les structures équivalentes sont :

• sous Mac OS, avant la version X : PEF (Preferred Executable Format), voir (en) Preferred Executable Format ;
• sous Mac OS X : Mach-Ocite-ref-3[3].

Notes et références

cite-note-11. Page de manuel « elf ».
cite-note-22. Header ELF dans la documentation d'ORACLE.
cite-note-33. Mach-O, sur le site pour développeurs d'Apple.

• Portail de l’informatique